// 1.引入模块
import store from "@/store";
import axios from "axios";
import Nprogress from "nprogress"
import "nprogress/nprogress.css"
import {getUserTempId} from "@/util/getUserTempId"  //UUID

// 2.创建axios实例对象
let ajax = axios.create({
    // baseURL:"http://sph-h5-api.atguigu.cn",
    baseURL:"/api",
    timeout:5000
})
// 3.设置请求拦截器
ajax.interceptors.request.use(config=>{
    Nprogress.start();
    //统一设置请求头
    config.headers.userTempId = getUserTempId()
    // 后面可以再此统一设置token，先获取token
    console.log(store);
    const token = store.state.user.userInfo.token
    if(token){
         // 将token添加到请求头当中
        config.headers.token=token
    }
    return config;  //返回配置项，这个里面包含请求的一些配置信息，url methods等
})

// 4.设置响应拦截器
ajax.interceptors.response.use(res=>{
    Nprogress.done()
    return res.data;
},err=>{
    // return err;
    return Promise.reject(new Error(err.message))
})

// 5.导出
export default ajax;